package com.qys.livesMall.shop.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qys.livesMall.common.result.R;
import com.qys.livesMall.shop.modal.dto.SeckillActivityAppDto;
import com.qys.livesMall.shop.modal.dto.SeckillDto;
import com.qys.livesMall.shop.modal.dto.ShopProductDto;
import com.qys.livesMall.shop.modal.entity.H2ShopBase;
import com.qys.livesMall.shop.modal.entity.SeckillActivity;
import com.qys.livesMall.shop.modal.entity.SeckillGoods;
import com.qys.livesMall.shop.modal.query.QuerySeckill;
import com.qys.livesMall.shop.modal.query.QuerySeckillActivityApp;
import com.qys.livesMall.shop.modal.query.QuerySeckillShopGoods;
import com.qys.livesMall.shop.modal.vo.SeckillActivityAppVO;
import com.qys.livesMall.shop.modal.vo.SeckillVo;
import com.qys.livesMall.shop.modal.vo.ShopGoodsSkuVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author gmx
 * @since 2023-07-03
 */
public interface SeckillActivityService extends IService<SeckillActivity> {
    //有效活动时间查询
    List<SeckillActivityAppDto> validActivity(QuerySeckillActivityApp seckillActivityApp);

    R addSeckill(SeckillDto seckillDto);

    R<Page<SeckillVo>> QueryList(QuerySeckill querySeckill);
    @Deprecated
    R<Page<ShopProductDto>> goodsList(QuerySeckillShopGoods seckillShopGoods);

    /**
     * 获取商品搜索列表
     * @param seckillShopGoods
     * @return
     */
    R<Page<ShopGoodsSkuVO>> listSearchGoods(QuerySeckillShopGoods seckillShopGoods);
    /**
     * 根据商品id获取商品sku
     * @param goodsId
     * @return
     */
    R<List<ShopGoodsSkuVO>> getSkuList(Long goodsId);

    List<H2ShopBase> getShopList(Long skuId);

    List<SeckillGoods> getGoods(Long activityId);

    List<String> makeJson(String json);

    List<SeckillActivity> getByGoodsId(Long goodsId, Long shopId);

    SeckillActivityAppVO getSeckillInfo(Long activityId);


}
